19 research outputs found

    A Verified Theorem Prover for Higher-Order Logic

    Get PDF
    This thesis is about mechanically establishing the correctness of computer programs.\ua0In particular, we are interested in establishing the correctness of tools used in computer-aided mathematics. We build on tools for proof-producing program synthesis, and verified compilation, and a verified theorem proving kernel.\ua0With these, we have produced an interactive theorem prover for higher-order logic, called Candle, that is verified to accept only true theorems.\ua0To the best of our knowledge, Candle is the only interactive theorem prover for higher-order logic that has been verified to this degree.Candle and all technology that underpins it is developed using the HOL4 theorem prover.\ua0We use proof-producing synthesis and the verified CakeML compiler to obtain a machine code executable for the Candle theorem prover.\ua0Because the CakeML compiler is verified to preserve program semantics, we are able to obtain a soundness result about the machine code which implements the Candle theorem prover

    Wetland construction and its impact on presence of anseriformes

    Get PDF
    Flertalet vÄtmarker restaureras eller anlÀggs varje Är i Sverige för att fÄ en ökad biologisk mÄngfald, rikare kulturmiljö, renare vatten och ett vackrare landskap. För att anlÀgga dessa vÄtmarker krÀvs resurser i form av sÄvÀl tid som pengar, dÄ kan det vara av intresse att pÄvisa effekter för att motivera ytterligare restaureringar. Vi har valt att undersöka hur anlÀggning av vÄtmark pÄverkar förekomsten av andfÄglar (Anseriformes). Vi genomförde en analys dÀr vi jÀmförde antalet individer före och efter anlÀggning av vÄtmark. VÄtmarkerna var inventerade av Svensk fÄgeltaxering genom ideell inventering. Analysen gjordes med Mann-Whitney U-test eftersom datat ej var normalfördelat. Syftet med arbetet var att jÀmföra antalet observerade andfÄglar före och efter anlÀggning av vÄtmarker, dÀr anlÀggningsformen eller syftet med sjÀlva anlÀggningen inte tagits hÀnsyn till. För att uppnÄ detta syfte har en statistisk metod nyttjats och analyser genomförts. I resultatet framkom en ökning i medeltal per inventeringstillfÀlle av antalet individer före och efter restaurering medan antalet observerade arter var detsamma. Det tyder pÄ att anlÀggningen av vÄtmarker Àr positivt för andfÄglar. Statistiskt kunde sambandet bara visas i datasetet med fria rutter.Several wetlands are restored or constructed every year in Sweden to increase biodiversity, get a richer cultural environment, cleaner water and a more pleasing looking landscape. Building these wetlands requires resources in terms of time and money, which makes observed effects be of interest to motivate further restorations. We have chosen to examine the construction of wetland affects the presence of Anseriformes. Thus, we have conducted an analysis comparing inventoried individuals before and after the establishment of wetlands, which have been invented by Swedish bird taxation through an ideal inventory. The analysis is done with Mann-Whitney U-test because of the data not being normalized. The purpose of the work was to compare the quantity of birds observed before and after the establishment of wetlands, where the purpose or form of establishment itself, has not been taken into account. To achieve the purpose, a statistical method has been used and analyses have been carried out. In the result, an increase on average per inventory was found by the number of individuals before and after restoration while the numbers of observed species were the same. This suggests that the site of wetlands is positive for the birds. The statistics could only be shown in the dataset with free routes

    Fast, Verified Computation for Candle

    Get PDF
    This paper describes how we have added an efficient function for computation to the kernel of the Candle interactive theorem prover. Candle is a CakeML port of HOL Light which we have, in prior work, proved sound w.r.t. the inference rules of the higher-order logic. This paper extends the original implementation and soundness proof with a new kernel function for fast computation. Experiments show that the new computation function is able to speed up certain evaluation proofs by several orders of magnitude

    Cakes That Bake Cakes: Dynamic Computation in CakeML

    Get PDF
    We have extended the verified CakeML compiler with a new language primitive, Eval, which permits evaluation of new CakeML syntax at runtime. This new implementation supports an ambitious form of compilation at runtime and dynamic execution, where the original and dynamically added code can share (higher-order) values and recursively call each other. This is, to our knowledge, the first verified run-Time environment capable of supporting a standard LCF-style theorem prover design. Modifying the modern CakeML compiler pipeline and proofs to support a dynamic computation semantics was an extensive project. We review the design decisions, proof techniques, and proof engineering lessons from the project, and highlight some unexpected complications

    Proof-Producing Synthesis of CakeML from Monadic HOL Functions

    Get PDF
    We introduce an automatic method for producing stateful ML programs together with proofs of correctness from monadic functions in HOL. Our mechanism supports references, exceptions, and I/O operations, and can generate functions manipulating local state, which can then be encapsulated for use in a pure context. We apply this approach to several non-trivial examples, including the instruction encoder and register allocator of the otherwise pure CakeML compiler, which now benefits from better runtime performance. This development has been carried out in the HOL4 theorem prover

    PureCake: A verified compiler for a lazy functional language

    Get PDF
    We present PureCake, a mechanically-verified compiler for PureLang, a lazy, purely functional programming language with monadic effects. PureLang syntax is Haskell-like and indentation-sensitive, and its constraint-based Hindley-Milner type system guarantees safe execution. We derive sound equational reasoning principles over its operational semantics, dramatically simplifying some proofs. We prove end-to-end correctness for the compilation of PureLang down to machine code---the first such result for any lazy language---by targeting CakeML and composing with its verified compiler. Multiple optimisation passes are necessary to handle realistic lazy idioms effectively. We develop PureCake entirely within the HOL4 interactive theorem prover

    Where is ‘elsewhere’ in biodiversity offsetting? A political-geographical exploration of values and localizations of offset measures in two development projects of Port of Gothenburg, Sweden

    Get PDF
    Ekologisk kompensation Ă€r en relativt ny Ă„tgĂ€rd vilket syftar till att minska förlusten av ekologiska vĂ€rden i samband med stads- och infrastrukturutvecklingsprojekt. Tidigare forskning om ekologisk kompensation har frĂ€mst riktat sig till policyutveckling, ekologiska effekter, samt nyligen ocksĂ„ dess sociala och kritiska aspekter. Med undantag för den sistnĂ€mnda skaran undersöks sĂ€llan lokalisering av kompensationsĂ„tgĂ€rder. DĂ€rmed tillkĂ€nnages ofta kompensationsplatsen som nĂ„gon annanstans. LikvĂ€l belyser den föreliggande masteruppsats hur det generiska och abstrakta ’nĂ„gon annanstans’ sedermera materialiseras pĂ„ marken. Med avsikt att ifrĂ„gasĂ€tta alltför abstrakta narrativ samt tillhörande effekter undersöks frĂ„gan om nĂ„gon annanstans genom att övervĂ€ga spĂ€nningar mellan systematiska och integrativa konceptualiseringar av den materiella vĂ€rlden. Empiriskt undersöker jag detta problem genom att fokusera pĂ„ vĂ€rdering av kompensationsarter samt förhandlingar om lokaliseringar av kompensationsĂ„tgĂ€rder i tvĂ„ olika fall; ett landbaserat och ett marinbaserat. Det förstnĂ€mnda riktar sig till mindre hackspett (Dendrocopos minor) och hasselsnok (Coronella austriaca), medan det senare koncentrerar sig pĂ„ det marina sjögrĂ€set Ă„lgrĂ€s (Zostera marina). BĂ„da fallen Ă€r konsekvenser av Göteborgs hamns rumsliga expansion. Uppsatsen undersöker sĂ„ledes hur arter vĂ€rderas socialt, huruvida de tvĂ„ fallen initialt prioriterar handlingen (kompensationsĂ„tgĂ€rd) över sammanhanget (’nĂ„gon annanstans’) samt potentiella förekommande praktiska begrĂ€nsningar. Uppsatsens metodik vilar pĂ„ en tematisk analys av empiriskt material, som bestĂ„r av intervjuer med aktörer samt fallspecifika dokument. Resultaten tolkas genom ett teoretiskt ramverk, bestĂ„ende av svenska geografen Torsten HĂ€gerstrands materiella ontologi (benĂ€mnd all-ekologi), tillsammans med analytiska insikter frĂ„n politisk ekologi. Resultaten betonar hur vĂ€rdering och urval av arter Ă€r förankrat i sociala praktiker och konventioner. Vidare fördjupar sig resultaten i hur aktörer konceptuellt förhĂ„ller sig till naturens stĂ€ndiga förĂ€ndringar. Detta sorteras in i fyra ’tysta utmaningar’, vilka Ă€r avgörande för hur aktörer planerar, omorganiserar och hanterar kompensationsplatser. Sammanfattningsvis vad gĂ€ller implementeringar sĂ„ skiljer sig de tvĂ„ fallen; aktörer stĂ„r inför kontrasterande utmaningar varför den givna praktiska situationen alltid Ă€r kritisk. Eftersom bĂ„da fallen inte inkluderat icke-experter i sina beslut, urval och förhandlingar, utarbetar jag slutligen en modell som kan inkludera berörda samhĂ€llen, invĂ„nare och andra. Detta för att mer demokratiskt förankra de drabbades Ă„sikter och upplevelser i kompensationsarrangemang. DĂ€rmed har Ă€ven icke-mĂ€nniskor en större chans att ocksĂ„ bli artikulerade som integrerande medlemmar av vĂ„r kontextuella samvaro

    A verified proof checker for higher-order logic

    No full text
    We present a computer program for checking proofs in higher-order logic (HOL) that is verified to accept only valid proofs. The proof checker is defined as functions in HOL and synthesized to CakeML code, and uses the Candle theorem prover kernel to check logical inferences. The checker reads proofs in the OpenTheory article format, which means proofs produced by various HOL proof assistants are supported. The proof checker is implemented and verified using the HOL4 theorem prover, and comes with a proof of soundness. (C) 2020 Elsevier Inc. All rights reserved

    Verified proof checking for higher-order logic

    No full text
    This thesis is about verified computer-aided checking of mathematical proofs. We build on tools for proof-producing program synthesis, and verified compilation, and a verified theorem proving kernel. Using these tools, we have produced a mechanized proof checker for higher-order logic that is verified to only accept valid proofs. To the best of our knowledge, this is the only proof checker for HOL that has been verified to this degree of rigor.Mathematical proofs exist to provide a high degree of confidence in the truth of statements. The level of confidence we place in a proof depends on its correctness. This correctness is usually established through proof checking, performed either by human or machine. One benefit of using a machine for this task is that the correctness of the machine itself can be proven.The main contribution of this work is a verified mechanized proof checker for theorems in higher-order logic (HOL). The checker is implemented as functions in the logic of the HOL4 theorem prover, and it comes with a soundness result, which states that it will only accept proofs of true theorems of HOL. Using a technique for proof-producing code generation (which is extended as part of this thesis), we synthesize a CakeML program that is compiled using the CakeML compiler. The CakeML compiler is verified to preserve program semantics. As a consequence, we are able to obtain a soundness result about the machine code which implements the proof checker

    Assembly station development by flow analysis and systematic layout planning : Mapping of the current state of production, evaluation of alternatives and development of concepts for improved flow and flexibility

    No full text
    Modul system HH deliver modular storage systems and electrical solutions that can be combined according to the customer's wishes. This thesis combines argues for the importance for companies to keep improving their organization and production to remain competitive. By relating to a holistic view of the development of production environments, the project focuses on improvements for efficiency and social sustainability in the development of production. The project became relevant as the company has discovered difficulties in balancing production in the event of capacity changes and wants to develop rational flows and increase its flexibility. The project is limited to exploring three assembly stations and the operations and flows that belong to the assembly. The project spiral's iterative 3-step development process was chosen for strategic planning. This methodology allowed the work to continue forward despite the lack of data. The first step deals with planning and processes where technology and users were examined. In this planning phase, a Gantt schedule was used in the ClickUp program to plan the project and to-do lists and deadlines could be set. A literature study was conducted to strengthen arguments and raise new ideas. The theoretical overview focuses on areas around production development with a focus on the development of layouts/assembly stations, psychosocial work environment and organizational management. In the second phase of the project, requirements and wishes were mapped. This was done together with the company, the results from this step were then used to evaluate concepts before detailed development. The project also has several parts of the framework that Muther & Wheeler developed called Systematic layout planning. It provided the tools to understand important connections through relationships and proximity analysis. These methods were also used to evaluate the results. Interviews, observations, and 3D modelling were also performed in this phase to gather information and to understand different production structures. Semi-structured interviews were performed with product managers, production designers, production planners. From these methods, I was together with some employees able to conclude that customer order-driven product development is the focus. That production places demand on rapid implementations in production and that modularity means great flexibility needs and fast lead times. We also found opportunities to minimize repetitive and time-consuming steps through development based on the operator's point of view. Concepts were developed through a development process based on proximity analysis, time studies and results from more subjective interviews. The concepts were then evaluated through an evaluation matrix based on formulated future requirements and wishes. The winning concept was developed in more detail and developed iteratively together with staff from the company. The final concept combines a new, more compact layout that considers proximity requirements between stations as well as flows of materials and operators. The final layout also introduces new types of material buffers and action proposals for improved collaboration and communication for increased flexibility
    corecore